1. Field of the Invention
The present invention relates generally to the field of computer software and, more specifically, to a system and method for recommending next commands to a user when using a software application.
2. Description of the Related Art
A computer-aided design (CAD) application offers a mechanism for designing and modeling graphics objects within graphics scenes. Each of the graphics objects within a graphics scene is associated with one or more parameters having respective parameter values. For example, a graphics object representing a light source may be associated with a brightness parameter. The CAD application typically provides a large variety of parameter manipulation commands (referred to herein as “CAD commands”). The CAD commands allow users to modify the parameter values of the one or more parameters associated with a graphics object. Some examples of such CAD commands include a rotate command, a zoom command and a brighten command.
When designing a graphics object in a graphics scene, to obtain a particular effect on the graphics object, a user (i.e., the designer) usually performs a series of actions and operations on the graphics object (referred to herein as a “workflow”). The workflow typically includes the execution of one or more CAD commands to modify values of one or more parameters associated with the graphics object. For example, in a “view” workflow, the designer may execute the zoom command and the rotate command to view the graphics object from different angles. For a given workflow, the designer typically executes CAD commands that he/she is familiar with. However, in some cases, the execution of different CAD commands that the designer is not familiar with may be a more effective and powerful approach to obtaining a particular effect on the graphics object.
One major drawback with conventional CAD applications is that they typically do not offer real-time guidance to the designer for navigating the different CAD commands provided by the CAD application. The lack of real-time guidance often times results in the designer being unaware of the different commands offered by the CAD application that would enable the designer to perform a particular workflow more effectively and/or accurately.
As the foregoing illustrates, what is needed in the art is a mechanism for informing a user of a CAD application about the different CAD commands offered by the CAD application that are relevant to different workflows.